﻿// constants.js

// 摩尔斯码映射表
export const MORSE_CODE_MAP = {
    'A': '.-',    'B': '-...',  'C': '-.-.',  'D': '-..',
    'E': '.',     'F': '..-.',  'G': '--.',   'H': '....',
    'I': '..',    'J': '.---',  'K': '-.-',   'L': '.-..',
    'M': '--',    'N': '-.',    'O': '---',   'P': '.--.',
    'Q': '--.-',  'R': '.-.',   'S': '...',   'T': '-',
    'U': '..-',   'V': '...-',  'W': '.--',   'X': '-..-',
    'Y': '-.--',  'Z': '--..',
    '@': '..-..', 
    '0': '-----', '1': '.----', '2': '..---', '3': '...--',
    '4': '....-', '5': '.....', '6': '-....', '7': '--...',
    '8': '---..', '9': '----.',
    "'": '.--.-.',
    '?': '..--..',
    '/': '-..-.',
    ".": '.-.-.-',
    ",": '--..--',
    '[CALL]': '..--',
    '[END]': '.-.-.'
};

// 摩尔斯码相关常量
export const DOT_DURATION_MULTIPLIER = 1200;
export const DOT_TO_DASH_RATIO = 3;
export const CHAR_SPACING_RATIO = 3;
export const WORD_SPACING_RATIO = 7;

// 速度设置常量
export const MIN_CODE_SPEED = 15;
export const MAX_CODE_SPEED = 60;
export const DEFAULT_CODE_SPEED = 45;
export const SPEED_WPM_RATIO = 4;

// 灯光模式常量
export const LIGHT_MODE_SCREEN = 'screen';
export const LIGHT_MODE_FLASHLIGHT = 'flashlight';

// 字符集常量
export const LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ@';
export const NUMBERS = '0123456789';
export const ALPHANUMERIC = LETTERS + NUMBERS;
